import router from './router'
import store from './store'
import NProgress from 'nprogress' // Progress 进度条
import 'nprogress/nprogress.css' // Progress 进度条样式
import { setToken,getToken } from '@/utils/auth' // 验权
const whiteList = ['/login', '/404'] //白名单,不需要登录的路由
router.beforeEach((to, from, next) => {
  NProgress.start()
  if (getToken() && whiteList.indexOf(to.path) == -1) {
      //cookie保存登录状态,仅靠vuex保存的话,页面刷新就会丢失登录状态
          setToken(getToken());
           if (!store.getters.role) {
              store.dispatch('GetInfo').then(() => {
                next({ ...to })
              })
            } else {
              next()
            }
         
    // //如果已经登录
    // // if (to.path === '/login') {
    // //   // next({ path: '/login' })
    // //   // console.log("确认1")
    // //   NProgress.done() // 结束Progress
    // // } else 
    // if (!store.getters.role) {
    //   store.dispatch('GetInfo').then(() => {
    //     next({ ...to })
    //   })
    // } else {
    //   next()
    // }
  } else if (whiteList.indexOf(to.path) !== -1) {
    //如果前往的路径是白名单内的,就可以直接前往
    next()
  } else {
    //如果路径不是白名单内的,而且又没有登录,就跳转登录页面
    next('/login')
    // store.dispatch("GetAutoToken").then(() => {
    //   next({ ...to })
    // })
    // NProgress.done() // 结束Progress
  }
})
router.afterEach(() => {
  NProgress.done() // 结束Progress
})
